import { setToken, removeToken } from '@/utils/auth'
import { login } from '../../api/user.js'
// 状态
const state = {
  token: null
}
// 修改状态
const mutations = {
  // 设置token
  setToken (state, token) {
    state.token = token // 设置token  只是修改state的数据  123 =》 1234
    // vuex变化 => 缓存数据
    setToken(token) // vuex和 缓存数据的同步
  },
  // 删除缓存
  removeToken (state) {
    state.token = null // 删除vuex的token
    removeToken() // 先清除 vuex  再清除缓存 vuex和 缓存数据的同步
  }
}
// 执行异步
const actions = {
  // 定义login action  也需要参数 调用action时 传递过来的参数
  async Login (context, data) {
    // console.log(data)
    const res = await login(data)
    // console.log(res)
    if (res.success) {
      // 判断登录成功则存储token
      context.commit('setToken', res.data)
    }
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions
}
